#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("**************************\n");
	printf("*********1.play***********\n");
	printf("*********0.exit***********\n");
	printf("**************************\n");
}

void game()
{
	int guess = 0;
	//1.生成一个随机数
//	  srand(100);             //{2.}在使用srand函数的时候如果传入一个整型生成的数也是固定的，所以必须传入一个随机数
//	  srand((unsigned int)time(NULL));                //所以应该传入一个随机变化的数，最好的选择是--时间戳--
	//srand()返回的类型是unsigned int  强制转换
	//但是把srand放在这个位置还是有问题的，应该只调用一次就行，所以应该放入主函数中

	//C语言里面提供了一个函数time，用来返回一个时间戳。头文件是<time.h>
	// 用time_t time(time_t *time) <--用*time的意思是把时间戳存储起来，存到指针当中。如果不想存储则可以传入一个NULL
	// time_t 是一个long或者int64类型的 返回的是一个整数
	// 
	// 
	//用rand（）函数
	int ret = rand() % 100 + 1;//库函数需要头文件#include<stdlib .h>,该函数的范围大小为0~RAND_MAX   (0~32767) 
	//%100表示只能是0~99范围 再加1则表示0~100


	//但是只用rand生成一个随机数产生的结果是有问题的（两次运行生成的结果是一样的）
	//{1.}所以在使用rand的时候必须提前使用一个随机数生成器 srand（）

	// printf("%d\n", ret);
	// 


	//2.猜数字
	while (1)
	{
		printf("猜数字:>\n");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));	//放在这里，time是个指针类型
	do {
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			//printf("开始游戏\n");
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误，请重新选择\n");
			break;
		}
	} while (input);
	return 0;
}